数据库 查询语言 2个代码 的 对错`

来源:百度知道 编辑:UC知道 时间:2024/05/20 08:42:22
USE Library
GO
SELECT *
FROM Readers
WHERE 支付罚金>0 and 读者编号 IN ( SELECT *
FROM BorrowHistory
)
GO

这段代码对么?



USE Library
GO
SELECT *
FROM Readers
WHERE 读者编号 IN
( SELECT 读者编号
FROM BorrowHistory
WHERE 支付罚金>0
)
GO

和这段代码 执行结果一样么?
代码执行的时候有何区别

上面的那段代码不对。
应改成
读者编号 IN ( SELECT 读者编号
FROM BorrowHistory
)

另外你要确认一下支付罚金在表Readers 中是否存在,如果不存在“WHERE 支付罚金>0”的书写方式是错误的

区别很大,你最好说明白两个表中的内容和之间的关系,我再给你解答,还有就是你的第一个查询语句肯定是错的‘读者编号 IN ( SELECT *FROM BorrowHistory) ’,肯定不能用*号

肯定不一样,支付罚金在哪个表?如果在readers表,则第二个查询有错误,无法执行。